Benjamin Otte [Sun, 11 May 2014 02:15:43 +0000 (04:15 +0200)]
reftest: Add tests for the new vfuncs
This test is a bit brittle because it doesn't properly rely on CSS
properties but needs to use widget style properties to turn of extra
sizing from widgets.
It might break in the future when porting widgets to draw properly.
Benjamin Otte [Sun, 11 May 2014 01:59:32 +0000 (03:59 +0200)]
themingengine: Draw icons for arrows
Benjamin Otte [Sun, 11 May 2014 01:52:20 +0000 (03:52 +0200)]
themingengine: Use icons for expanders
Benjamin Otte [Sun, 11 May 2014 01:40:10 +0000 (03:40 +0200)]
themingengine: Implement icon drawing for checks and options
Benjamin Otte [Sun, 11 May 2014 00:30:50 +0000 (02:30 +0200)]
icontheme: Don't force missing icon
When forcing regular or symbolic icons, fall back to the default
specified icons. This ensures that when no symbolic icon is present, an
icon will still appear - the regular one.
Benjamin Otte [Sat, 10 May 2014 19:50:26 +0000 (21:50 +0200)]
reftests: Add a reftest for -gtk-icon-style
Benjamin Otte [Sat, 10 May 2014 19:50:37 +0000 (21:50 +0200)]
iconhelper: Respect -gtk-icon-style
This allows styling of entry icons, treeview pixbufs and images. They
can now be forced to be symbolic or regular.
Benjamin Otte [Sat, 10 May 2014 13:35:12 +0000 (15:35 +0200)]
API: icontheme: Add 2 new GtkIconLookupFlags
GTK_ICON_LOOKUP_FORCE_REGULAR and GTK_ICON_LOOKUP_FORCE_SYMBOLIC can be
used to force a regular or symbolic icon to be loaded, even if the icon
names specify a different version.
This is intended to support the CSS property -gtk-icon-style.
Benjamin Otte [Tue, 6 May 2014 14:06:33 +0000 (16:06 +0200)]
css: Add a -gtk-icon-style property
The values can be:
"requested" - the style as requested
"regular" - use a regular full-color icon
"symbolic" - use a symbolic icon
The property defaults to "requested", so no changes should be seen
unless CSS overrides it.
It is also inherited, so that using this CSS
.toolbar { -gtk-icon-style: symbolic; }
is enough to force the whole toolbar to use symbolic icons.
Benjamin Otte [Mon, 5 May 2014 13:32:34 +0000 (15:32 +0200)]
spinner: Don't arbitrarily limit sizes anymore
This essentially reverts
b33877e1737a7799b29f5b3a3d291e55e95e8436
Now that we can theme the spinner as a real icon using -gtk-icontheme()
this limit is no longer necessary.
Benjamin Otte [Mon, 5 May 2014 13:28:18 +0000 (15:28 +0200)]
css: Add -gtk-icon-transform property
This property allows transforming icons and is mainly intended to be
used for spinner animations.
Benjamin Otte [Mon, 5 May 2014 12:48:27 +0000 (14:48 +0200)]
css: Add GtkCssTransformValue
The value implements the 2D parts of CSS transforms. See
http://www.w3.org/TR/css3-transforms/
For the specification.
All it does is give us an expressive way to define Cairo matrices (and
their transforms)
Benjamin Otte [Fri, 2 May 2014 19:47:54 +0000 (21:47 +0200)]
themingengine: Draw icons for spinners
If the -gtk-icon-source property is not set to "none" (the default),
draw it as the spinner icon. Otherwise fall back to previous methods.
Benjamin Otte [Fri, 2 May 2014 19:28:36 +0000 (21:28 +0200)]
css: Add -gtk-icon-source property
This is to be used for rendering icon content via CSS, such as spinners
or checkboxes.
Benjamin Otte [Thu, 1 May 2014 17:50:22 +0000 (19:50 +0200)]
css: Add support for -gtk-icontheme("icon-name")
This allows using icons from the icontheme as images in CSS. The
reasoning is that this allows to give the image control about how it's
scaled (by using the icon theme's scaling method. So we can get crisp
images at different resolutions.
Matthias Clasen [Wed, 14 May 2014 02:19:30 +0000 (22:19 -0400)]
GtkButton: Deprecated setters and getters as well
gtk_button_set/get_alignment should be deprecated together
with the properties they are setters/getters for.
Jasper St. Pierre [Tue, 13 May 2014 20:21:11 +0000 (16:21 -0400)]
wayland: Ack the configure immediately
Matthias Clasen [Tue, 13 May 2014 19:50:23 +0000 (15:50 -0400)]
gtk3-demo: Don't leak in the sizegroup example
Nobody was cleaning up the size group.
Pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=645966
Matthias Clasen [Tue, 13 May 2014 18:43:19 +0000 (14:43 -0400)]
inspector: Show text view subobjects in the tree
Matthias Clasen [Tue, 13 May 2014 18:16:53 +0000 (14:16 -0400)]
inspector: Add a setting to disable the keybinding
This will be needed for lockdown, e.g. on the login screen.
https://bugzilla.gnome.org/show_bug.cgi?id=730007
Matthias Clasen [Tue, 13 May 2014 18:08:15 +0000 (14:08 -0400)]
inspector: All to turn it on programmatically
Export gtk_window_set_interactive_debugging.
https://bugzilla.gnome.org/show_bug.cgi?id=730008
Matthias Clasen [Tue, 13 May 2014 16:37:39 +0000 (12:37 -0400)]
Add some documentation to the filechooser schema
Matthias Clasen [Tue, 13 May 2014 16:28:02 +0000 (12:28 -0400)]
Add some documentation to the colorchooser schema
Piotr Drąg [Tue, 13 May 2014 17:33:15 +0000 (19:33 +0200)]
Updated POTFILES.in
Matthias Clasen [Tue, 13 May 2014 15:55:57 +0000 (11:55 -0400)]
Minor documentation fix
Two stray references, pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=730035
Matthias Clasen [Tue, 13 May 2014 15:55:45 +0000 (11:55 -0400)]
Fix a leftover deprecation warning
Matthias Clasen [Tue, 13 May 2014 15:55:01 +0000 (11:55 -0400)]
Add a test for the previous fix
Olivier Brunel [Tue, 15 Oct 2013 13:07:28 +0000 (15:07 +0200)]
treestore: Fix segfault when reordering non-existing children
Calling gtk_tree_store_reorder() on a node without children would cause a
segfault; Fixes https://bugzilla.gnome.org/show_bug.cgi?id=698396
Signed-off-by: Olivier Brunel <jjk@jjacky.com>
Matthias Clasen [Tue, 13 May 2014 15:42:31 +0000 (11:42 -0400)]
Minor doc fixup
Matthias Clasen [Tue, 13 May 2014 15:19:49 +0000 (11:19 -0400)]
Improve the GTK_STYLE_PROVIDER_PRIORITY_FALLBACK docs
Explain possible gotcha with catch-all rules.
Matthias Clasen [Tue, 13 May 2014 15:04:43 +0000 (11:04 -0400)]
Add an alternative keybinding for the inspector
Control-Shift-I is already used for similar things in many
applications, so provide Control-Shift-D as an alternative.
https://bugzilla.gnome.org/show_bug.cgi?id=730043
Matthias Clasen [Tue, 13 May 2014 12:45:35 +0000 (08:45 -0400)]
Avoid deprecation warnings
This is testing deprecated API, after all...
Matthias Clasen [Tue, 13 May 2014 12:45:00 +0000 (08:45 -0400)]
Deprecate GtkMisc
This has been dangling ever since 3.0.
Matthias Clasen [Tue, 13 May 2014 11:28:20 +0000 (07:28 -0400)]
Drop most uses of GtkMisc in tests
Replace them by GtkWidget h/valign. The only remaining uses
are those where a size group is involved; they can't be replaced
until GtkLabel stops looking at GtkMisc alignment for size
allocation.
Matthias Clasen [Tue, 13 May 2014 11:14:11 +0000 (07:14 -0400)]
GtkLabel: Drop references to GtkMisc
GtkMisc is heading for retirement. Point to the GtkWidget h/valign
properties instead.
Matthias Clasen [Tue, 13 May 2014 11:04:06 +0000 (07:04 -0400)]
GtkMenuItem: Stop using gtk_misc_set_alignment
GtkMisc is heading for deprecation. Just use GtkWidget h/valign.
https://bugzilla.gnome.org/show_bug.cgi?id=650762
Rico Tzschichholz [Tue, 13 May 2014 10:26:00 +0000 (12:26 +0200)]
Inspector: Fix make dist
Matthias Clasen [Tue, 13 May 2014 10:16:39 +0000 (06:16 -0400)]
GtkButton: Deprecate xalign and yalign properties
These are directly passed through to GtkMisc/GtkAlignment, which
are both on the way to deprecation.
Matthias Clasen [Tue, 13 May 2014 10:15:56 +0000 (06:15 -0400)]
gtk3-demo: Fix up toolpalette demo
The demo appears pretty broken, because some icons are not fitting
well in the grid. Just skip the problematic icons.
Jasper St. Pierre [Sat, 12 Apr 2014 00:31:27 +0000 (17:31 -0700)]
wayland: Update to latest xdg-shell protocol
Jasper St. Pierre [Sat, 12 Apr 2014 00:04:25 +0000 (17:04 -0700)]
gdk: Add new _gdk_set_window_state
Wayland's mechanism tells us all of our new states, rather than
telling us which ones were added and removed. Add a new private
interface so that we can simply specify the new states as a
bitfield directly rather than having to compute which ones were
added and removed.
Matthias Clasen [Tue, 13 May 2014 02:58:47 +0000 (22:58 -0400)]
Minor documentation edit
Matthias Clasen [Tue, 13 May 2014 02:38:37 +0000 (22:38 -0400)]
gtk3-demo: Drop unneeded gtk_init() call
GtkApplication is doing this for us.
Matthias Clasen [Tue, 13 May 2014 02:32:51 +0000 (22:32 -0400)]
gtk-demo: Don't use margin-left/right
Instead, use margin-start/end, which are the non-deprecated
replacements.
Owen W. Taylor [Mon, 12 May 2014 20:25:25 +0000 (16:25 -0400)]
GtkPopover: inherit actions from the relative_to widget
Make the relative_to widget the parent for a GtkPopover's
GtkActionGroup. This, for example, makes the menu model of a
GtkMenuButton find action groups attached to the button.
https://bugzilla.gnome.org/show_bug.cgi?id=729915
Sébastien Wilmet [Thu, 4 Apr 2013 11:30:42 +0000 (13:30 +0200)]
gtk_text_buffer_create_tag(): returns NULL on failure
Returns NULL in case of a duplicated tag name in the tag table. It is
still a programmer error to duplicate a name, but if it happens the
behavior is a little nicer (and hopefully doesn't crash).
https://bugzilla.gnome.org/show_bug.cgi?id=614717
Sébastien Wilmet [Thu, 4 Apr 2013 11:22:38 +0000 (13:22 +0200)]
Add boolean return value for gtk_text_tag_table_add()
The user doesn't need to check the return value, because if FALSE is
returned it is a programmer error. But it permits a nicer behavior for
gtk_text_buffer_create_tag() in case of failure.
https://bugzilla.gnome.org/show_bug.cgi?id=614717
Piotr Drąg [Mon, 12 May 2014 14:35:46 +0000 (16:35 +0200)]
Updated POTFILES.in and POTFILES.skip
We still need .ui.h files for the inspector.
Matthias Clasen [Mon, 12 May 2014 02:03:27 +0000 (22:03 -0400)]
Move GtkIconFactory to deprecated section in the docs
Just catching up with reality.
Matthias Clasen [Mon, 12 May 2014 02:01:37 +0000 (22:01 -0400)]
GtkIconFactory: Remove outdated information from the docs
The stock browser was removed from gtk3-demo.
Matthias Clasen [Mon, 12 May 2014 01:49:21 +0000 (21:49 -0400)]
Deprecate GtkNumerableIcon
It was a failed experiment, it is basically unused, and it complicates
code in GtkIconTheme that we want to rework.
Matthias Clasen [Sun, 11 May 2014 15:56:22 +0000 (11:56 -0400)]
Remove a redundant check
gtk_widget_show/_hide already check the widget's visibility.
https://bugzilla.gnome.org/show_bug.cgi?id=728135
Evan Nemerson [Thu, 8 May 2014 19:55:50 +0000 (12:55 -0700)]
gdk: add many missing (nullable) return value annotations
https://bugzilla.gnome.org/show_bug.cgi?id=729834
Nikita Churaev [Tue, 6 May 2014 06:52:53 +0000 (10:52 +0400)]
Populate page 2 of the Widget Factory
https://bugzilla.gnome.org/show_bug.cgi?id=729598
Nikita Churaev [Mon, 5 May 2014 19:54:33 +0000 (23:54 +0400)]
Don't stretch switches in Widget Factory
https://bugzilla.gnome.org/show_bug.cgi?id=729594
Matthias Clasen [Sun, 11 May 2014 01:39:55 +0000 (21:39 -0400)]
extract-strings: Support more GtkBuilder markup
The inspector templates are using the <item> tag with an
id attribute, which was causing extract-strings to fail.
Fix this.
Matthias Clasen [Sun, 11 May 2014 01:23:06 +0000 (21:23 -0400)]
inspector: Fix button path placement
Matthias Clasen [Sun, 11 May 2014 01:19:21 +0000 (21:19 -0400)]
inspector: Add a visual tab
Move the show updates and flip text direction controls here,
and add controls for baseline and pixel cache debugging.
Matthias Clasen [Sun, 11 May 2014 00:25:47 +0000 (20:25 -0400)]
Add data-list.ui to list of templates
Matthias Clasen [Sat, 10 May 2014 17:22:17 +0000 (13:22 -0400)]
Make the inspector available via GTK_DEBUG
Change things around so GTK_DEBUG=interactive also brings
up the inspector window.
Matthias Clasen [Sat, 10 May 2014 14:40:38 +0000 (10:40 -0400)]
inspector: Add minimal signal tracing
Add rudimentary signal tracing. The signals tab can now count signal
emissions for all signals of the current object.
Matthias Clasen [Sat, 10 May 2014 16:26:22 +0000 (12:26 -0400)]
inspector: clean up better when objects go away
Instead of manually doing it everywhere, just call set_object (NULL)
from the selection_changed handler. Fix all the set_object() functions
to deal with NULL.
Matthias Clasen [Sat, 10 May 2014 14:52:29 +0000 (10:52 -0400)]
inspector: Improve the Inspect tooltip
Matthias Clasen [Sat, 10 May 2014 14:40:55 +0000 (10:40 -0400)]
inspector: Add a button for rtl flipping
Nice to have a quick way of testing this everywhere.
The implementation is not quite perfect: due to the way text
direction works in GTK+, widgets that appear in the inspector
window while we are flipped will inherit the flipped direction
instead of the fixed direction of the inspector window.
Matthias Clasen [Sat, 10 May 2014 04:50:21 +0000 (00:50 -0400)]
inspector: Add a minimal Data tab
This will eventually show useful information about the content
of tree models.
Matthias Clasen [Sat, 10 May 2014 03:57:57 +0000 (23:57 -0400)]
inspector: Hide tabs instead of making them insensitive
Matthias Clasen [Sat, 10 May 2014 14:39:31 +0000 (10:39 -0400)]
inspector: Make button path non-homogeneous
Matthias Clasen [Sat, 10 May 2014 03:57:38 +0000 (23:57 -0400)]
inspector: Avoid size changes of button path
Matthias Clasen [Sat, 10 May 2014 03:20:03 +0000 (23:20 -0400)]
inspector: Reorder tabs
Matthias Clasen [Sat, 10 May 2014 03:15:34 +0000 (23:15 -0400)]
inspector: Move scrolledwindow into prop list template
Matthias Clasen [Sat, 10 May 2014 03:06:35 +0000 (23:06 -0400)]
inspector: Avoid a double scrolled window
Matthias Clasen [Sat, 10 May 2014 02:52:37 +0000 (22:52 -0400)]
inspector: Make notebook scrollable
Matthias Clasen [Sat, 10 May 2014 02:49:31 +0000 (22:49 -0400)]
inspector: Add models to the tree
It makes sense to add the models of tree views, icon views
and combo boxes to the tree.
Matthias Clasen [Sat, 10 May 2014 02:48:34 +0000 (22:48 -0400)]
inspector: Make value ellipsized
The values can get long, so ellipsize them.
Matthias Clasen [Sat, 10 May 2014 02:28:45 +0000 (22:28 -0400)]
inspector: Add cell areas into the tree
Matthias Clasen [Sat, 10 May 2014 02:27:46 +0000 (22:27 -0400)]
inspector: Rename Widget Tree to Objects
Matthias Clasen [Fri, 9 May 2014 02:58:43 +0000 (22:58 -0400)]
inspector: Deal with dying objects
The widget-tree was not safe against object just going away.
Fix this by using row references instead of iters where
necessary, and by using weak refs to clean up when objects
die.
Matthias Clasen [Fri, 9 May 2014 02:19:21 +0000 (22:19 -0400)]
Trivial: shorten some variable names
Matthias Clasen [Fri, 9 May 2014 01:15:09 +0000 (21:15 -0400)]
inspector: Add a Label column
Move the UI strings over to that column, and use the buildable
ID for the name column, where available.
Matthias Clasen [Fri, 9 May 2014 00:30:40 +0000 (20:30 -0400)]
GtkApplication: implement the active-window property
This was apparently just forgotten.
First bug found by GtkInspector.
Matthias Clasen [Fri, 9 May 2014 00:32:42 +0000 (20:32 -0400)]
inspector: Show the default GApplication in the tree
This is a handy object to have quickly available.
Matthias Clasen [Fri, 9 May 2014 00:31:50 +0000 (20:31 -0400)]
inspector: Don't flash the window initially
This is flickery, and not really necessary.
Matthias Clasen [Fri, 9 May 2014 00:14:44 +0000 (20:14 -0400)]
Work around a GtkBuilder deficiency
It turns out that an <object> with just a <signal> in it does
not work right in GtkBuilder. Work around by adding a property.
Matthias Clasen [Fri, 9 May 2014 00:13:34 +0000 (20:13 -0400)]
inspector: Don't show mapped/realized/visible in the tree
It does not really add much over the sensitive/insensitive rendering
that is already indicating which widget is mapped. At the same time,
set up signal handlers so we can update that when the widget changes.
Matthias Clasen [Thu, 8 May 2014 22:36:38 +0000 (18:36 -0400)]
inspector: Don't leak signal handlers
Not only was the property list connecting to notify::bla for
each property individually, it was also leaking the signal
handlers when the selected object changed. Fix both.
Matthias Clasen [Thu, 8 May 2014 14:16:58 +0000 (10:16 -0400)]
inspector: Minimal support for attributes
Show mapping information for cell renderer properties; no editing
yet.
Matthias Clasen [Thu, 8 May 2014 05:59:37 +0000 (01:59 -0400)]
inspector: Show interfaces in the object hierarchy
This gives a more complete picture.
Matthias Clasen [Thu, 8 May 2014 05:38:52 +0000 (01:38 -0400)]
inspector: Add columns and cell renderers to the tree
These are interesting objects that are worth displaying in the tree.
Matthias Clasen [Thu, 8 May 2014 05:26:17 +0000 (01:26 -0400)]
inspector: Improve handling of object-valued properties
When showing the objects in the tree, use the property name
as the name thats shown in the list. This makes it easier
to differentiate e.g. hadjustment and vadjustment in a
GtkScrolledWindow.
Matthias Clasen [Thu, 8 May 2014 05:17:35 +0000 (01:17 -0400)]
inspector: Fix object-valued properties
The code for dealing with object-valued properties had several
bugs that lead to crashes. This change makes it work.
Matthias Clasen [Thu, 8 May 2014 05:19:05 +0000 (01:19 -0400)]
inspector: Change label of widget tree
The tree contains other objects besides widgets, so label it
'Objects'.
Matthias Clasen [Thu, 8 May 2014 05:04:16 +0000 (01:04 -0400)]
inspector: Show signals
Add a tab that shows available signals for each object. For now,
we only show if each signal has handlers connected or now. More
functionality will be added later.
Matthias Clasen [Wed, 7 May 2014 10:34:23 +0000 (06:34 -0400)]
inspector: Select a window initially
The list of toplevels also includes hidden combobox popups
and the like, so we have to be a little careful. To ensure
the right choice, we now pick the first visible window
that is not a GtkInspectorWindow.
Matthias Clasen [Wed, 7 May 2014 04:16:31 +0000 (00:16 -0400)]
inspector: Drop an unused function
Matthias Clasen [Wed, 7 May 2014 04:13:00 +0000 (00:13 -0400)]
inspector: Make translatable
Mark strings in the source and in the templates as translatable.
We use the same extract-strings utility as for libgtk itself.
Matthias Clasen [Wed, 7 May 2014 03:35:47 +0000 (23:35 -0400)]
Move modules/other/parasite to modules/inspector
No need for the extra subdirectory, and the name should
match the module name.
Matthias Clasen [Wed, 7 May 2014 03:24:20 +0000 (23:24 -0400)]
Rename parasite to gtkinspector
This avoids namespace collisions with the original
gtkparasite project, and adds the gtk prefix to
all symbols and type names.
Matthias Clasen [Wed, 7 May 2014 02:20:10 +0000 (22:20 -0400)]
Add a 'toggle-debugging' keybinding
This is bound to Ctrl-Shift-I (for inspector) by default.
It loads the gtkparasite module and opens a parasite window.
Matthias Clasen [Wed, 7 May 2014 02:19:12 +0000 (22:19 -0400)]
Add private api to load a single module
In the following commits, this function will be used to load the
gtkparasite module.
Matthias Clasen [Wed, 7 May 2014 02:02:08 +0000 (22:02 -0400)]
parasite: Don't open a window upon load
Instead, we want to let GTK+ open a window whose life-cycle
it can control. We just ensure that all our types are registered
when the module is loaded, so GTK+ can find them.